package com.hz.ironc.common.regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

/**
 * <p> Title：RegexUtils </p>
 * <p> Description：这是个正则表达式应用类，用来匹配和替换字串用的 </p>
 * <p> Group：LowB </p>
 * @Author TieCheng
 * @Date 2017/1/17 11:34
 * @Since 1.0
 */
public class RegexUtils {

  /**
   * 要求大小写都匹配正则表达式
   * @param pattern 正则表达式模式
   * @param str 要匹配的字串
   * @return boolean值
   * @since  1.0
   */
  public static final boolean match(String pattern, String str) throws PatternSyntaxException {
    try {
      Pattern p = Pattern.compile(pattern);
      Matcher m = p.matcher(str);
      return m.find();
    } catch (PatternSyntaxException e) {
      throw e;
    }
  }

  /**
   * 匹配且替换字串
   * @param pattern 正则表达式模式
   * @param newStr 要替换匹配到的新字串
   * @param str 原始字串
   * @return 匹配后的字符串
   * @since  1.0
   */
  public static final String ereg_replace(String pattern, String newStr, String str) throws PatternSyntaxException {
    try {
      Pattern p = Pattern.compile(pattern);
      Matcher m = p.matcher(str);
      return m.replaceAll(newStr);
    } catch (PatternSyntaxException e) {
      throw e;
    }
  }

}
